草庐IT

c++ - Visual Studio 和 Boost::Test

全部标签

c++ - 使用 boost 将 C++ 对象传递给 python

我正在尝试弄清楚如何使用boostpython在C++中创建一个对象并将其传递给Python。我已设法做到这一点,但无法进行垃圾回收。假设类A是在C++的某处定义的。passNewAToPython()函数是从代码中的其他地方调用的,该代码创建一个A对象,然后将其传递给Python中的回调函数。我希望将该特定实例传递给python而不是拷贝,因此使用ptr()staticPyObject*pythonCallbacks;voidpassNewAToPython(){A*a=newA();PyGILState_STATE_GILState=PyGILState_Ensure();//Sh

c++ - 如何在编译时或代码初始化时自动更新数组中的条目?

嗯,我有一个从我的代码运行的抽象虚拟机(“PAWN”),脚本可以执行函数,这些函数从C代码注册到脚本,由我的C++代码执行。C++代码必须以的形式提供一个数组{"name_i_want_the_function_to_have_in_the_script",function_in_my_cpp_code}如果函数不在数组中,则无法执行。(因为它不“存在”)所以这让我们想到了这一点:我的函数是这样的://PawnFunctions#definePWNFUNC(a)staticcellAMX_NATIVE_CALLa(AMX*amx,cell*params)namespacePawnFun

c++ - <ctime> 中的 clock() 函数如何访问系统时钟?

我使用的是带有最少库的STM32微Controller。我想使用clock()来自的函数(可能还有新的std::chrono)但我被困在了clock()返回-1。这并不奇怪,因为我不希望gcc-arm-none-eabi中的库了解我的微Controller的外围布局。我怎么知道clock它从哪里得到它的滴答计数?我可以简单地重新声明它,还是需要实现一个较低级别的功能? 最佳答案 这通常是将libc实现移植到新平台的工作的一部分。当您编译glibc或newlib(C标准库的两个最流行的实现)的拷贝时,您必须提供一系列stub方法,其中

c++ - 多维稀疏矩阵压缩

任何人都可以推荐一个好的C++库来存储多维稀疏矩阵,它专注于矩阵中数据的压缩。矩阵的维数会很大(比如80维)。欢迎任何帮助:)。编辑:矩阵高度稀疏,数量级为0.0000001(或)1x10-6。 最佳答案 在c#中,我使用键值对或“字典”来存储稀疏填充数组。我认为对于80个维度,您必须构建一个基于字符串的键。使用单个函数来创建它应该保持一致的key。只需连接一个逗号分隔的维度列表。不幸的是,我不知道一个好的key对,C++的字典库。如果您以前使用过,可能是STL,但我不会推荐它。 关于c

c++ - 使用boost.python在cygwin中手动构建python扩展

抱歉,这么笼统的标题,但我不太确定我到底缺少什么或做错了什么。我的目标是使用cygwin下的boost.python构建python扩展,并避免使用boost.build工具而不是boost.build工具。后一种方法为我工作的很好,但是现在我想这样做。我通过谷歌搜索和寻找相似的主题解决了许多问题,这有助于我找出一些技巧并向前迈进。但是在最后一步似乎存在一些问题。我将尝试详细描述我的所有步骤,以希望本文对将来的其他人有所帮助,并更好地描述设置。因为我不太确定python和boost的原始安装(来自各个cygwin存储库),所以我决定从头开始将其安装在主目录中,所以我要这样做:首先安装p

c++ - Boost.Multiprecision cpp_int - 转换成字节数组?

http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/index.html我刚刚开始探索这个图书馆。似乎没有办法将cpp_int转换为字节数组。有人能看到这样的功能吗? 最佳答案 这是无证方式。cpp_int的后端有limbs()成员函数。此函数返回内部字节数组值。#include#includenamespacemp=boost::multiprecision;intmain(){mp::cpp_intx("11111111112222222222333

c++ - 将python编译成共享库

我有一堆python代码,我想将它们“编译”到一个带有C接口(interface)的共享库中,该接口(interface)可以与其他C/c++程序链接,并且无需依赖太多其他库(可能是python和一些其他dll,但它们都应包含在包含最终lib的目录中)。我真的不想为此将python代码重写为C++。我当然可以,但最好有一个独立的库,可以像dll/so库一样使用。我已经尝试过cython并想将python编译为C,然后将C代码编译为一个dll,但这似乎还不能正常工作(我还不能让它完美地工作)。然后我也尝试了bbfreeze-但bbfreeze是否支持创建.so文件?无法找出如何去做。有人

c# - Visual Studio 2010 创建编译代码的应用程序

我希望能够从我创建的另一个应用程序编译代码。长话短说:我正在使用SDL从头开始​​创建一个2D引擎(请不要评论什么更好用)。我了解如何使用SDL库并可以创建简单的游戏。但是,我想尝试更大的项目,但我需要创建一个应用程序来帮助我组织代码和整个系统。基本上,这个程序就是一个编辑器(很像unity或UDK,但当然没有那么高级)。使用代码编辑器等对实际应用程序进行编程并不难,但我的问题是如何获取该代码并将其编译、运行和/或导出为exe?(获取代码和脚本并将它们放入架构中进行编译不是问题,重要的是知道如何编译它的想法)。这对我来说是一个新想法,谷歌搜索并没有给我想要的结果,所以我决定来Stack

c++ - 在 C++ 中使用 Boost 正则表达式缩小 HTML

问题如何使用C++压缩HTML?资源外部库可能是答案,但我更希望改进我当前的代码。尽管我很期待其他可能性。当前代码这是我对thefollowinganswer的C++解释.我必须从原始帖子更改的唯一部分是顶部的这部分:“(?ix)”...和一些逃生标志#includevoidminifyhtml(string*s){boost::regexnowhitespace("(?ix)""(?>"//Matchallwhitespansotherthansinglespace."[^\\S]\\s*"//Eitherone[\t\r\n\f\v]andzeroormorews,"|\\s{2,

c++ - 使用 boost 创建相对路径

我正在尝试使用boost创建相对路径。我最初的计划是:stringbase_directory;//inputboost::filesystem::pathbase_path;stringother_directory;//inputboost::filesystem::pathother_path;//assumebase_pathisabsolute-didthatalready(usingcomplete()//ifpathisrelative,torootitinthecurrentdirectory)->base_directory=base_path.string();if